package main

import (
	"github.com/gin-gonic/gin"
	"im/app/conf"
	"im/app/models/validator"
	"im/app/route"
	"im/console"
	"im/rabbitmq"
)

func main() {
	// 设置gin运行模式
	gin.SetMode(gin.DebugMode)
	// 初始化配置
	conf.InitConf()
	// 初始化日志
	conf.InitLog()
	//初始化数据库
	conf.InitDB()
	// 生成数据库, 生成后可以关闭
	//conf.Mdb.AutoMigrate(&models.User{}, &models.UserGroup{}, &models.UserGroupRelation{}, &models.Friends{})
	// 打印sql
	// conf.Mdb.LogMode(true)
	// 初始化redis
	// conf.InitRedis()
	//初始化自定义验证器
	validator.InitValidaotr()
	// rabbitmq 开启
	rabbitmq.RabbitPoolServe = &rabbitmq.RabbitPool{
		AMQPURL:       "amqp://guest:guest@localhost:5672/",
		ConnectionNum: 50,
		ChannelNum:    10,
	}
	rabbitmq.RabbitPoolServe.InitRabbit()
	// 开启cron
	console.InitCron()
	// 初始化路由
	route.InitRoute()
	// 关闭数据库
	defer conf.Mdb.Close()
}
